from tkinter import *
from tkinter.messagebox import showinfo
import os
import webbrowser

te1 = os.environ["temp"]
class deltemp():
    t = 0
    dx = os.path.getsize("C:\\Users\\"+os.getlogin()+"\\AppData\\Local\\Microsoft\\Windows\\INetCache")+os.path.getsize(te1)+os.path.getsize("C:\\Windows\\Temp"))
    mytk=Tk()
    def __init__(self,ma):
        if ma != "123580zzr":
            print("""
本程序由SYSTEM-经济是是是-OS开发，请勿商用，如违规请举报!
联系方式：
bili：SYSTEM-经济是是是-OS
QQ：259697023
邮箱：259697023@qq.com
""")
    def zz(self):
        webbrowser.open("https://afdian.net/@jjsss", new=0, autoraise=True)
    def nbpl(self):
        webbrowser.open("https://space.bilibili.com/1420396483", new=0, autoraise=True)
    def delrun(self):
        o = self.deldir(te1)
        h = self.deldir("C:\\Windows\\Temp")
        r = self.deldir("C:\\Users\\"+os.getlogin()+"\\AppData\\Local\\Microsoft\\Windows\\INetCache")
        n = o + h + r
        showinfo(title = "提示",message = "清理完毕!共清理"+str(n)+"项")
    def yxcpql(self):
        os.startfile("C:\WINDOWS\system32\cleanmgr.exe")
    def deldir(self,temp):
        global t
        if os.path.exists(temp):
            try:
                wj = []
                wjj = []
                pa = []
                for root,dirs,files in os.walk(temp,topdown=True):
                    for name in files:
                        wj.append(os.path.join(temp,name))
                    for name in dirs:
                        wjj.append(os.path.join(temp,name))
                for i in wj:
                    pa.append(i)
                for i in wjj:
                    pa.append(i)
            except PermissionError as e:
                print("error")
                return 0
            y = 0
            r = 0
            t = 0
            paz = []
            for z in range(len(pa)):
                paz.append(pa[len(pa)-z-1])
            for i in paz:
                i = temp + "\\"+i
                if os.path.isfile(i):
                    print("删除文件"+i)
                    try:
                        os.remove(i)
                        print("成功")
                        t = t + 1
                    except:
                        print("失败")
                if os.path.isdir(i):
                    print("删除文件夹"+i)
                    try:
                        os.rmdir(i)
                        print("成功")
                        t = t + 1
                    except:
                        print("失败")
        else:
            print("错误！未识别到目录")
        return t
    def main(self):
        self.mytk.title("缓清")
        self.mytk.geometry("550x250+600+0")
        self.mytk.resizable(False,False)
        ts=Label(deltemp.mytk,text="""应用缓存清理器V1.4
经济是是是开发
原理：Windows在运行时会产生应用缓存，但在应用结束后缓存不会自动清理，因此需要用户自行清理
本应用会自动扫描无用缓存并清理，在此期间你可以继续使用你的电脑，不会受到影响
按按钮开始清理，已识别到"""+str(deltemp.dx)+"KB缓存")
        ts.grid()
        qd=Button(deltemp.mytk,text="启动缓清",bd=1,width=10,command = self.delrun)
        yx=Button(deltemp.mytk,text="启动磁盘清理",bd=1,width=10,command=self.yxcpql)
        zz=Button(deltemp.mytk,text="赞助作者",bd=1,width=10,command = self.zz)
        az=Button(deltemp.mytk,text="作者B站首页",bd=1,width=10,command = self.nbpl)
        qd.grid()
        yx.grid()
        zz.grid()
        az.grid()
        self.mytk.mainloop()


if __name__ == "__main__":
    deltemp = deltemp()
    deltemp.main()
